The present invention relates generally to the field of assembly language programming and more particularly to the selective replacement of instructions in an existing assembly language program.
Assembly language is a low-level programming language converted into executable machine code by a utility program referred to as an assembler and the conversion process is referred to as assembly, or assembling the code. Assembly language uses a symbolic name or a mnemonic, which is a memory aid, to represent each low-level machine instruction or operation. Instructions in machine code or binary code are a composed series of eight binary digits or bits, which are one of two values, either a one or a zero (e.g., 01100001). In computer assembly language, an instruction mnemonic is an abbreviation for an operation. Assembly language typically uses an operation code (i.e., opcode) represented by an instruction mnemonic and one or more operands or data elements representing the location or value of the particular elements of data. An instruction mnemonic is entered in the operation code field of each assembler program instruction.
Typical operations require one or more operands in order to form a complete instruction, and most assemblers can therefore take labels, symbols, and expressions as operands to represent addresses and other constants, freeing the programmer from tedious manual calculations. Data locations include main storage, registers, or the instruction, which is known as immediate data that is included in the instruction. Registers are specific areas set aside in the processing unit of the computer. Typically, a register can hold one word or 32 bits of data and is needed for certain arithmetic operations and other uses in programming.
An assembler is a program that creates object code by translating combinations of instruction mnemonics and operands into their numerical or binary machine code equivalents for instructions. The object code is a binary machine code or a series of ones and zeros providing machine-readable instructions to the computer that is translated from the source code, which is a collection of computer instructions written using human-readable computer language or text. Although there has been some movement for standardization, different assemblers and different processor architectures often provide a variety of different mnemonics in the various assembly languages supporting the different assemblers and processors.